package com.yunfangdata.mapper;

import com.yunfangdata.domain.Department;
import com.yunfangdata.query.QueryObject;

import java.util.List;

public interface DepartmentMapper {

    /**
     * 根据 部门id 删除部门信息
     * @param id 部门编号
     */
    void deleteByPrimaryKey(Long id);

    /**
     * 保存部门信息
     * @param record 部们对象
     */
    void insert(Department record);

    /**
     * 根据id 查询某个部门信息
     * @param id 部门编号
     * @return 部门对象
     */
    Department selectByPrimaryKey(Long id);

    /**
     * 查询所有部门信息
     * @return 所有部门信息的集合
     */
    List<Department> selectAll();

    /**
     * 更新部门信息
     * @param record
     */
    void updateByPrimaryKey(Department record);

    /**
     * 根据条件 查询出的部门数量
     * @param qo
     * @return
     */
    int queryForCount(QueryObject qo);

    /**
     * 根据条件查询出 相应的部门信息集合
     * @param qo
     * @return
     */
    List<Department> queryForList(QueryObject qo);

    /**
     * 部门状态改变
     * @param id
     */
    void changeState(Long id);
}